Image processing apparatus, control method thereof, and storage medium storing program

ABSTRACT

A transmission destination of image data is set, and image data obtained by scanning a document image is stored. When a received scan job request is that from the set transmission destination, the stored image data is converted according to parameters included in the scan job request, and the converted image data is transmitted to the transmission destination as a transmission source of the scan job request.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a technique for generating image dataand transmitting the image data to a destination using an imageprocessing apparatus.

2. Description of the Related Art

In recent years, an image processing apparatus which implements a scanmethod called a pseudo Push Scan that executes the following operationhas appeared.

In a system including an image processing apparatus and informationterminal (to be referred to as a PC hereinafter), which are connectedvia a network, when the image processing apparatus is ready for an imagescan, it notifies the PC as a destination designated by the user of ascan ready message via the network. Upon reception of the scan readymessage, the PC transmits a scan job request including designation of animage format to be acquired and the like to that image processingapparatus. Upon reception of this scan job request, the image processingapparatus generates image data by scanning a document image using ascanner, and converts the image data into file data of the formatdesignated by the scan job request. Then, the image processing apparatusoutputs this converted file data to the PC. FIG. 1 shows this sequence.

In FIG. 1, when the image processing apparatus is ready for an imagescan, it transmits a scan ready message to the PC. After that, when ascan job request which requests to scan a document image and to transmitthe data to the PC is received from the PC, the image processingapparatus converts image data obtained by scanning a document image intoa format, resolution, and the like requested by the scan job request.The image processing apparatus can transmit an image file in response tothe scan job request from the PC by transmitting the image filegenerated in this way to the PC.

The Microsoft Corporation specifies a communication protocol requiredfor a computer to use a Web service called “Web Service On Device (to beabbreviated as “WSD” hereinafter)” provided by an electronic apparatussuch as an image forming apparatus. In this specification, a protocol(WSD scan) which supports a pseudo Push Scan is specified.

Also, for example, Japanese Patent Laid-Open No. 2009-267701 describesan image forming apparatus which can execute a pseudo Push Scanaccording to the WSD scan specification.

After reception of a scan job request, a conventional image processingapparatus generates image data by scanning a document image, convertsthat image data into a designated image format included in the scan jobrequest, and transmits the converted data to a PC as a request source.However, since the designated image format depends on settings andoperations of PCs, when there are a plurality of PCs as destinations ofa pseudo Push Scan for a single image scan, the image processingapparatus has to convert image data into image formats respectivelydesignated by the plurality of PCs designated as destinations. At thistime, if image formats designated by the respective PCs are incompatiblewith each other, the image processing apparatus cannot cope with scanjob requests from all the PCs by a single image scan and imageconversion. In such case, the image processing apparatus has to executea document scan and image data conversion for each scan job request.

In general, as for a time period from when the PC receives a scan readymessage until it outputs a scan job request, there is no specialtemporal limitation in terms of the protocol. Therefore, conventionally,when a document includes secret information, after the user sets thatdocument on a scanning unit of the image processing apparatus, he or shecannot leave from the image processing apparatus until a scan jobrequest is received from the PC and the scanning unit completes scanningof the document. Therefore, when image data is transmitted from theimage processing apparatus which supports a pseudo Push Scan, the usercannot determine how long he or she has to stand on beside the imageprocessing apparatus since a reception timing of a scan job request fromthe PC is unknown.

SUMMARY OF THE INVENTION

An aspect of the present invention is to eliminate the above-mentionedproblems with the conventional technology.

The present invention provides a technique which allows to transmitimage data of formats according to requests from a plurality ofdestinations to the plurality of destinations by scanning a documentimage only once even when image data of a document is to be transmittedto the plurality of destinations.

The present invention in its first aspect provides an image processingapparatus comprising: a scanning unit configured to generate image databy scanning a document; a setting unit configured to set a transmissiondestination of the image data; a storage unit configured to store imagedata generated by the scanning unit; a reception unit configured toreceive a scan job request; a conversion unit configured to convert, ina case where a scan job request received by the reception unit is a scanjob request from a transmission destination set by the setting unit, theimage data stored in the storage unit in accordance with a parameterincluded in the scan job request; and a transmission unit configured totransmit the image data converted by the conversion unit to atransmission destination as a transmission source of the scan jobrequest.

The present invention in its second aspect provides a control method ofcontrolling an image processing apparatus, comprising: a scanning stepof generating image data by scanning a document; a setting step ofsetting a transmission destination of the image data; a storage step ofstoring image data generated in the scanning step in a memory; areception step of receiving a scan job request; a conversion step ofconverting, in a case where a scan job request received in the receptionstep is a scan job request from a transmission destination set in thesetting step, the image data stored in the memory in accordance with aparameter included in the scan job request; and a transmission step oftransmitting the image data converted in the conversion step to atransmission destination as a transmission source of the scan jobrequest.

The present invention in its third aspect provides a computer-readablestorage medium storing a program for controlling a computer to execute:a scanning step of generating image data by scanning a document; asetting step of setting a transmission destination of the image data; astorage step of storing image data generated in the scanning step in amemory; a reception step of receiving a scan job request; a conversionstep of converting, in a case where a scan job request received in thereception step is a scan job request from a transmission destination setin the setting step, the image data stored in the memory in accordancewith a parameter included in the scan job request; and a transmissionstep of transmitting the image data converted in the conversion step toa transmission destination as a transmission source of the scan jobrequest.

According to the present invention, even when image data of a documentis to be transmitted to a plurality of destinations, image data offormats according to requests from the plurality of destinations can betransmitted to the plurality of destinations by scanning a documentimage only once.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a chart showing a sequence example of a pseudo Push Scanaccording to the related art;

FIG. 2 is a block diagram for explaining the hardware arrangement of animage processing apparatus according to an embodiment of the presentinvention;

FIG. 3 is a diagram showing the arrangement of a system including theimage processing apparatus according to the embodiment;

FIGS. 4A and 4B are flowcharts for explaining processing to be executedby the image processing apparatus according to the embodiment;

FIG. 5 is a view for explaining an example of a transmission destinationselection/transmission start screen;

FIG. 6 is a view showing an example of a data format used to store rawimage data, scan identifiers, and destinations according to theembodiment;

FIG. 7 is a flowchart for explaining processing of the image processingapparatus in response to a scan job request in step S104 of FIGS. 4A and4B;

FIG. 8 is a view for explaining delete processing in step S218; and

FIG. 9 is a chart showing a transfer sequence example of image databetween the image processing apparatus according to the embodiment and aplurality of PCs.

DESCRIPTION OF THE EMBODIMENTS

Preferred embodiments of the present invention will now be describedhereinafter in detail, with reference to the accompanying drawings. Itis to be understood that the following embodiments are not intended tolimit the claims of the present invention, and that not all of thecombinations of the aspects that are described according to thefollowing embodiments are necessarily required with respect to the meansto solve the problems according to the present invention.

FIG. 2 is a block diagram for explaining the hardware arrangement of animage processing apparatus 101 according to an embodiment of the presentinvention.

This image processing apparatus 101 is connected to a plurality of otherapparatuses via a network 102. A CPU 11 controls this image processingapparatus 101 as a whole, expands an OS and various programs installedin an HDD (Hard Disk Drive) 13 onto a RAM 12, and executes the expandedprograms, thus implementing various kinds of control (to be describedlater). The RAM 12 temporarily holds various data, and provides a workarea of the CPU 11. An input unit 14 has a display unit such as a touchpanel, and is used to input various data and to make various settingsvia a GUI (Graphical User Interface). A scanning unit 15 includes, forexample, a scanner and scans a document image to generate image data. Acommunication unit 16 controls communications with external apparatusesvia the network 102. An image conversion unit 17 converts, for example,raw image data generated by the scanning unit 15 into data of adesignated image format and resolution. A main bus 18 connects the CPU11 to the aforementioned units to transfer various data, controlsignals, and the like. Note that in this embodiment, the CPU 11 controlsthe RAM 12, HDD 13, input unit 14, scanning unit 15, communication unit16, and image conversion unit 17 via the main bus 18 to implementvarious operations according to this embodiment unless otherwisespecified. Note that the HDD 13 is a large-capacity nonvolatile storageunit, which may be various memory cards, a ROM, a flash memory, a USBmemory, and the like in place of the HDD.

FIG. 3 is a diagram showing the arrangement of a system including theimage processing apparatus 101 according to the embodiment.

In this system, the image processing apparatus 101 and a plurality ofpersonal computers (to be referred to as PCs hereinafter) 104 and 105are connected via the network 102.

FIGS. 4A and 4B are flowcharts for explaining processing to be executedby the image processing apparatus 101 according to this embodiment. Notethat a program required to implement this processing is installed in theHDD 13, is expanded on the RAM 12 when it is executed, and is executedunder the control of the CPU 11.

This processing is started when the power supply of the image processingapparatus 101 is turned on. In step S101, the CPU 11 executesinitialization processing. After completion of the initialization, theprocess advances to step S102, and the CPU 11 publicizes a servicesupported by this image processing apparatus 101 to the PC 104, PC 105,and the like via the communication unit 16 and network 102. As for thisservice publicize method, various methods have been proposed and putinto practical use. However, this method is not directly related to thepresent invention, and a detailed description thereof will not be given.Next, the process advances to step S103, and the CPU 11 determineswhether or not a scan job request is received from a PC via thecommunication unit 16 and network 102. If the scan job request isreceived, the process advances to step S104; otherwise, the processadvances to step S105.

The CPU 11 determines in step S105 whether or not a selectionnotification of a pseudo Push Scan function is received via the inputunit 14. If the selection notification of the pseudo Push Scan functionis received, the process advances to step S106, and the CPU 11 displaysa pseudo Push Scan destination selection/transmission start screen ofalready registered destinations to the input unit 14.

FIG. 5 shows an example of this transmission destinationselection/transmission start screen.

In FIG. 5, when the user selects a displayed name of a PC and presses a“transmission start” button, he or she can set that PC as a transmissiondestination of image data. On this screen, the user can select aplurality of destinations.

Using this screen, the user can select one or more destinations to whichhe or she wants to transmit image data. The CPU 11 determines in stepS107 whether the user presses a “selection” button 501 to select a newtransmission destination or the “transmission start” button 502 toselect transmission start via the input unit 14. If the CPU 11determines that the user presses the “selection” button 501, the processadvances to step S108, and the CPU 11 stores the selected transmissiondestination as a transmission destination. Then, the process advances tostep S109, and the CPU 11 generates a scan ID (scan identifier) for theselected transmission destination and stores the scan ID in associationwith the selected transmission destination. Then, the process returns tostep S107.

FIG. 6 shows an example of a data format used to store raw image data,scan identifiers, and destinations according to the embodiment.

As can be seen from FIG. 6, a plurality of scan identifiers and aplurality of destinations are set for one image data file. Furthermore,a storage time limit is set for each image data file.

On the other hand, if the CPU 11 determines in step S107 that the userpresses the “transmission start” button 502, the process advances tostep S110, and the CPU 11 activates the scanning unit 15 to opticallyscan a document image, thus generating raw image data. Then, the processadvances to step S111, and the CPU 11 stores the generated raw imagedata in the HDD 13. The process then advances to step S112, and the CPU11 stores the generated raw data in association with all combinations ofdestinations and scan IDs stored in step S109 (see FIG. 6).

The process then advances to step S113, and the CPU 11 transits thetransmission destination list screen displayed on the input unit 14 to aprevious screen. Then, the process advances to step S114, and the CPU 11transmits scan ready notifications including the associated scan IDs toPCs as all the transmission destinations stored in step S109 via thecommunication unit 16 and network 102. The process advances to stepS115, and the CPU 11 sets a storage time limit for the raw image datastored in step S111. The process then returns to step S103.

On the other hand, if the CPU 11 determines in step S105 that noselection notification of the pseudo Push Scan function is received, theprocess advances to step S116, and the CPU 11 determines whether or nota pseudo Push Scan destination registration request is received via thenetwork 102 and communication unit 16. If the pseudo Push Scandestination registration request is received, the process advances tostep S117, and the CPU 11 registers the received destination. Then, theprocess returns to step S103.

If the CPU 11 determines in step S116 that no pseudo Push Scandestination registration request is received, the process advances tostep S118, and the CPU 11 determines whether raw image data whosestorage time limit has been reached is stored in the HDD 13. If rawimage data whose storage time limit has been reached is stored, theprocess advances to step S119, and the CPU 11 deletes that raw imagedata form the HDD 13. Then, the process advances to step S120, and theCPU 11 deletes the destinations, scan IDs, and storage time limitassociated with that raw image data. After that, the process returns tostep S103.

If the CPU 11 determines in step S118 that no raw image data whosestorage time limit has been reached is stored in the HDD 13, the processadvances to step S121, and the CPU 11 checks whether or not a request ofanother processing is received. If the request of the other processingis received, the process advances to step S122, and the CPU 11 executesprocessing corresponding to that request. Then, the process returns tostep S103. On the other hand, if no request of the other processing isreceived, the process returns to step S103.

If the CPU 11 determines in step S103 that the scan job request isreceived from the PC, the process advances to step S104, and the CPU 11executes scan job request processing. This processing will be describedin detail later with reference to FIG. 7.

As described above, according to this embodiment, a plurality oftransmission destinations of image data can be selected and registered,and raw image data obtained by scanning a document image is stored inassociation with these plurality of destinations. Thus, when a scan jobrequest is received from that destination, corresponding image data canbe transmitted to that destination as a request source.

FIG. 7 is a flowchart showing the processing of the image processingapparatus 101 in response to the scan job request in step S104 of FIGS.4A and 4B. Note that a program required to implement this processing isinstalled in the HDD 13, is expanded on the RAM 12 when it is executed,and is executed under the control of the CPU 11.

The CPU 11 checks in step S201 whether or not a combination of adestination and scan ID included in the received scan job requestmatches any of stored combinations of destinations and scan IDs. If nomatch is found, the process advances to step S202, and the CPU 11determines whether or not the scan job request is a Pull Scan request.If the scan job request is a Pull Scan request, the process advances tostep S203, and the CPU 11 activates the scanning unit 15 to opticallyscan a document image, thus generating raw image data. Then, the processadvances to step S204, and the CPU 11 controls the image conversion unit17 to generate an image file based on the raw image data in accordancewith image parameters (information such as a file format,monochrome/color (color mode), paper size, and resolution) included inthe received scan job request. The process then advances to step S205,and the CPU 11 outputs the converted image file to a destinationincluded in the scan job request via the communication unit 16 andnetwork 102. On the other hand, if the CPU determines in step S202 thatthe scan job request is not a Pull Scan request, it judges anabnormality. Then, the process advances to step S206 to execute errorprocessing, thus discarding the received scan job request. Theseprocesses of steps S202 to S206 correspond to general Pull Scanprocessing.

On the other hand, if the CPU 11 determines in step S201 that acombination of a destination and scan ID included in the received scanjob request is stored, the process advances to step S207. The CPU 11determines in step S207 whether or not the image conversion unit 17 cangenerate an image file designated by image parameters (a file format,monochrome/color, paper size, resolution, etc.) as specifications ofimage data included in the received scan job request. If the CPU 11judges that the image conversion unit 17 cannot generate that imagefile, the process advances to step S208, and the CPU 11 judges an errorand discards that scan job request. Then, the process advances to stepS216.

On the other hand, if the CPU 11 judges in step S207 that the imageconversion unit 17 can generate the designated image file, the processadvances to step S209, and the CPU 11 acquires raw image data associatedwith the stored destination and scan ID, which match those included inthe request, from the HDD 13. Then, the process advances to step S210,and the CPU 11 controls the image conversion unit 17 to convert the rawimage data according to image parameters (a file format,monochrome/color, paper size, resolution, etc.) included in the receivedscan job request, thus generating an image file. The process thenadvances to step S211, and the CPU 11 determines whether or not theconversion has succeeded. If the conversion has failed, the CPU 11judges an error, and the process advances to step S215. In step S215,the CPU 11 discards the scan job request, and the process then advancesto step S216.

If the CPU 11 determines in step S211 that the conversion has succeeded,that is, an image file can be generated, the process advances to stepS213, and the CPU 11 transmits that generated image file to adestination included in the scan job request via the communication unit16 and network 102. The CPU 11 then determines in step S214 whether ornot the transmission has succeeded. If the transmission has failed, theprocess advances to step S215 to discard the scan job request. Theprocess then advances to step S216. On the other hand, if thetransmission has succeeded, the process advances to step S216, and theCPU 11 deletes links between the raw image data, and the destination andscan ID, which are stored in the HDD 13.

8A and 8B of FIG. 8 are views for explaining delete processing of rawimage data in step S218.

8A of FIG. 8 shows the relationship among raw image data, scanidentifiers, and destinations, which are stored in the HDD 13, andcorresponds to FIG. 6 described above.

8B of FIG. 8 shows a state in which a raw image data file 3 istransmitted to a PC 6 and is deleted in this state. In 8B of FIG. 8,since only one combination of a scan identifier and destination is setfor the raw image data file 3, all of the raw image data file 3, scanidentifier, and destination indicated by hatching are deleted.

Then, the process advances to step S217, and the CPU 11 checks whetheror not another combination of a destination and scan ID is associatedwith that raw image data. If no combination is associated, the processadvances to step S218, and the CPU 11 deletes the raw image data storedin the HDD 13. This corresponds to the case shown in 8B of FIG. 8.

If a raw image data file 1 is normally transmitted to a PC 1, only alink between the raw image data file 1 and a scan identifier “1111” andthat with the PC 1 are deleted, and the raw image data file 1 itself isnot deleted. This is because other combinations of destinations and scanidentifiers are associated with the raw image data file 1.

FIG. 9 is a chart showing a transfer sequence example of image databetween the image processing apparatus 101 according to this embodimentand a plurality of PCs.

When a document is set on the scanning unit 15 of the image processingapparatus 101, a scan ready notification is sent to the PC 104 (PC 1) instep 903. At this time, a scan identifier (scan ID 1) is set for thisscan. Also, a scan ready notification is similarly sent to the PC 105(PC 2) in step 904. At this time, a scan identifier (scan ID 2) is setfor this scan. Then, the image processing apparatus 101 scans a documentimage using the scanning unit 15 to generate raw image data in step 901,and stores that data in the HDD 13 in step 902.

Thus, at this time, the user can pick up the document used in the scanfrom the scanning unit 15.

After that, a scan job request is received from the PC 104 (PC 1) instep 905. This scan job request is designated with the scan identifier(scan ID 1), a transmission destination (PC 1), and file format A as aformat of an image file. Furthermore, assume that this request isdesignated with a resolution=300 dpi, monochrome mode, and A4 size as animage size. Thus, in step 906, the image conversion unit 17 generates animage file having a resolution=300 dpi, monochrome mode, A4 size, andfile format A based on the raw image data stored in the HDD 13. Then, instep 907, that image file is transmitted to the PC 104 (PC 1).

Likewise, a scan job request is received from the PC 105 (PC 2) in step908. This scan job request is designated with the scan identifier (scanID 2), a transmission destination (PC 2), and file format B as a formatof an image file. Furthermore, assume that this request is designatedwith a resolution=600 dpi, color mode, and A3 size as an image size.Thus, in step 909, the image conversion unit 17 generates an image filehaving a resolution=600 dpi, color mode, A3 size, and file format Bbased on the raw image data stored in the HDD 13. Then, in step 910,that image file is transmitted to the PC 105 (PC 2).

As described above, according to this embodiment, broadcast transmissionwhich designates a plurality of different PCs as destinations can beimplemented by the pseudo Push Scan without changing the control on thePC side.

When an image file generated from a single document is transmitted to aplurality of PCs by the pseudo Push Scan, the document need not bescanned by the scanning unit a plurality of times as many as the numberof destination PCs unlike in the related art. Therefore, independentlyof the number of destination PCs, and different image parameters forrespective PCs requested by scan job requests from these PCs, a documentneed only be scanned once to transmit image data having requestedspecifications to the plurality of PCs.

As described above, according to this embodiment, when the user sets adocument on the scanning unit of the image processing apparatus totransmit a scan ready notification to a PC, the scanning unit 15 scans adocument image, and saves image data in the HDD 13. Therefore, the userneed only stand by the image processing apparatus 101 only for a timeperiod required for the scanning unit to scan the document image, thusimproving the user's convenience.

Other Embodiments

Aspects of the present invention can also be realized by a computer of asystem or apparatus (or devices such as a CPU or MPU) that reads out andexecutes a program recorded on a memory device to perform the functionsof the above-described embodiment(s), and by a method, the steps ofwhich are performed by a computer of a system or apparatus by, forexample, reading out and executing a program recorded on a memory deviceto perform the functions of the above-described embodiment(s). For thispurpose, the program is provided to the computer for example via anetwork or from a recording medium of various types serving as thememory device (for example, computer-readable medium).

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2012-146080, filed Jun. 28, 2012, which is hereby incorporated byreference herein in its entirety.

What is claimed is:
 1. An image processing apparatus comprising: ascanning unit configured to generate image data by scanning a document;a setting unit configured to set a transmission destination of the imagedata; a storage unit configured to store image data generated by saidscanning unit; a reception unit configured to receive a scan jobrequest; a conversion unit configured to convert, in a case where a scanjob request received by said reception unit is a scan job request from atransmission destination set by said setting unit, the image data storedin said storage unit in accordance with a parameter included in the scanjob request; and a transmission unit configured to transmit the imagedata converted by said conversion unit to a transmission destination asa transmission source of the scan job request.
 2. The apparatusaccording to claim 1, wherein said storage unit further stores thetransmission destination set by said setting unit in association withthe image data.
 3. The apparatus according to claim 1, furthercomprising a generation unit configured to generate an identifier in acase where said scanning unit generates image data, wherein said storageunit stores the identifier generated by said generation unit and thetransmission destination set by said setting unit in association withthe image data generated by said scanning unit.
 4. The apparatusaccording to claim 1, wherein after a scan ready notification indicatingthat said scanning unit is ready for a scan of the document istransmitted to the transmission destination set by said setting unit,the scan job request is transmitted in response to the scan readynotification.
 5. The apparatus according to claim 3, further comprisinga delete unit configured to delete, after said transmission unittransmits the converted image data, links to the identifier and thetransmission destination stored in said storage unit in association withthat image data.
 6. The apparatus according to claim 1, wherein saidstorage unit further stores a storage time limit of the image data, andsaid apparatus further comprises a unit configured to delete image data,the storage time limit of which has expired.
 7. The apparatus accordingto claim 1, further comprising a processing unit configured to scan, ina case where the scan job request is not a scan job request transmittedfrom the transmission destination set by said setting unit, a documentusing said scanning unit, to convert image data according to a parameterincluded in the scan job request, and to transmit the converted imagedata to a transmission destination as a transmission source of the scanjob request.
 8. The apparatus according to claim 1, wherein theparameter included in the scan job request includes any one of pieces ofinformation associated with a file format, a color mode, a paper size,and a resolution.
 9. A control method of controlling an image processingapparatus, comprising: a scanning step of generating image data byscanning a document; a setting step of setting a transmissiondestination of the image data; a storage step of storing image datagenerated in the scanning step in a memory; a reception step ofreceiving a scan job request; a conversion step of converting, in a casewhere a scan job request received in the reception step is a scan jobrequest from a transmission destination set in the setting step, theimage data stored in the memory in accordance with a parameter includedin the scan job request; and a transmission step of transmitting theimage data converted in the conversion step to a transmissiondestination as a transmission source of the scan job request.
 10. Acomputer-readable storage medium storing a program for controlling acomputer to execute: a scanning step of generating image data byscanning a document; a setting step of setting a transmissiondestination of the image data; a storage step of storing image datagenerated in the scanning step in a memory; a reception step ofreceiving a scan job request; a conversion step of converting, in a casewhere a scan job request received in the reception step is a scan jobrequest from a transmission destination set in the setting step, theimage data stored in the memory in accordance with a parameter includedin the scan job request; and a transmission step of transmitting theimage data converted in the conversion step to a transmissiondestination as a transmission source of the scan job request.